/* ==================================================================   
 * Created [2009-4-27 下午11:32:55] by Jon.King 
 * ==================================================================  
 * TSS 
 * ================================================================== 
 * mailTo:jinpujun@hotmail.com
 * Copyright (c) Jon.King, 2009-2012 
 * ================================================================== 
*/

package com.jinhe.tss.cms.service;

import java.util.Date;
import java.util.List;

import com.jinhe.tss.cms.entity.ArticleScore;
import com.jinhe.tss.component.support.persistence.pagequery.PageInfo;

/**
 * 文章评论、评论等相关逻辑方法
 */
public interface IScoreService {
    
	/**
	 * 保存评分信息
	 * @param ArticleScore scorerObj 
	 */
	void saveScoreInfo(ArticleScore scorerObj);
    
    /**
     * 得到选中栏目列表下所有文章的评分统计结果
     * @param channelList
     * @param startTime
     * @param endTime
     * @param author
     * @return
     */
    List<?> findScoreInfoBySelectedChannels(String channelList, Date startTime, Date endTime, String author);
    
    /**
     *  得到单篇文章评分统计结果
     * @param articleId
     * @return
     */
    Object[] findScoreInfoByArticle(Long articleId);
	
	/**
	 * <p>
	 * 得到根据作者分类的统计信息
	 * </p>
	 * @param pageNum 
	 * @param pageSize
	 * @return
	 */
    List<Object[]> findResult4Author(String channelList, Date startTime, Date endTime);

	/**
	 * <p>
	 * 得到站点、栏目点击率统计信息
	 * </p>
	 * @param condition
	 * @param pageNum 
	 * @param pageSize 
	 * @return
	 */
    List<ArticleScore> getResult4Channel(Date startTime, Date endTime);
    
	
    /********************************************评论部分******************************************** */
	/**
	 * <p>
	 * 得到评论信息
	 * </p>
	 * @param pageNum 
	 * @return
	 */
    PageInfo getCommentListByArticle(Long articleId, Integer pageNum);
    
    /**
     * <p>
     * 保存文章评论信息
     * </p>
     * @param articleId
     * @param commentContent
     */
    void saveComments(Long articleId, String commentContent);
	
	/**
	 * <p>
	 * 得到评论查询信息
	 * </p>
	 * @param keyword
	 * @param pageNum 
	 * @return
	 */
    PageInfo searchCommentList(String keyword, Integer pageNum);
	
	/**
	 * <p>
	 * 删除评论
	 * </p>
	 * @param commentsId
	 */
	void delComments(Long commentsId);
}

	